package com.bootdo.order.domain;

import java.io.Serializable;
import java.util.Date;


/**
 * 订单
 */
public class OrderDO implements Serializable {
	private static final long serialVersionUID = 1L;
	
	//订单主键
	private String id;
	//商户id
	private Long merchantId;
	//商户编号
	private String identification;
	//支付类型（1：支付宝，2：微信，3：支付宝转账）
	private Integer payType;
	//商户自定义订单号
	private String orderNo;
	//订单金额
	private Double money;
	//实际支付金额
	private Double actualMoney;
	//商品描述
	private String goodsDesc;
	//异步通知地址
	private String notifyUrl;
	//sign签名
	private String sign;
	//时间戳
	private Long requestTime;
	//超时状态
	private Integer overtimeStatus;

	//回单状态
	private Integer callBackStatus;
	//回单次数
	private Integer callBackNumber;


	//订单创建时间
	private Date gmtCreate;
	//商户/收款户手机号码
	private String mobile;
	//商户名称
	private String merchantName;
	//商户代理id
	private Long merchantAgentId;
	//商户代理名称
	private String merchantAgentName;
	//订单状态
    private Integer type;
    //收款户id
	private Long payeeId;
	//收款户名称
	private String payeeName;
	//收款户应上缴金额
	private Double payeeMon;
	//收款户代理id
	private Long payeeAgentId;
	//收款户代理名称
	private String payeeAgentName;
	//收款户代理应上缴金额
	private Double payeeAgentMon;
	//总费率
	private Double countRate;
	//商户代理费率
	private Double merchantAgentRate;
	//订单统计
	private Integer num;

	/**
	 * 设置：订单主键
	 */
	public void setId(String id) {
		this.id = id;
	}
	/**
	 * 获取：订单主键
	 */
	public String getId() {
		return id;
	}

	public Long getMerchantId() {
		return merchantId;
	}

	public void setMerchantId(Long merchantId) {
		this.merchantId = merchantId;
	}

	/**
	 * 设置：商户编号
	 */
	public void setIdentification(String identification) {
		this.identification = identification;
	}
	/**
	 * 获取：商户编号
	 */
	public String getIdentification() {
		return identification;
	}
	/**
	 * 设置：支付类型（1：支付宝，2：微信）
	 */
	public void setPayType(Integer payType) {
		this.payType = payType;
	}
	/**
	 * 获取：支付类型（1：支付宝，2：微信）
	 */
	public Integer getPayType() {
		return payType;
	}
	/**
	 * 设置：商户自定义订单号
	 */
	public void setOrderNo(String orderNo) {
		this.orderNo = orderNo;
	}
	/**
	 * 获取：商户自定义订单号
	 */
	public String getOrderNo() {
		return orderNo;
	}
	/**
	 * 设置：订单金额
	 */
	public void setMoney(Double money) {
		this.money = money;
	}
	/**
	 * 获取：订单金额
	 */
	public Double getMoney() {
		return money;
	}

	public Double getActualMoney() {
		return actualMoney;
	}

	public void setActualMoney(Double actualMoney) {
		this.actualMoney = actualMoney;
	}

	/**
	 * 设置：商品描述
	 */
	public void setGoodsDesc(String goodsDesc) {
		this.goodsDesc = goodsDesc;
	}
	/**
	 * 获取：商品描述
	 */
	public String getGoodsDesc() {
		return goodsDesc;
	}
	/**
	 * 设置：异步通知地址
	 */
	public void setNotifyUrl(String notifyUrl) {
		this.notifyUrl = notifyUrl;
	}
	/**
	 * 获取：异步通知地址
	 */
	public String getNotifyUrl() {
		return notifyUrl;
	}

	public String getSign() {
		return sign;
	}

	public void setSign(String sign) {
		this.sign = sign;
	}

	public Date getGmtCreate() {
		return gmtCreate;
	}

	public void setGmtCreate(Date gmtCreate) {
		this.gmtCreate = gmtCreate;
	}

	public String getMobile() {
		return mobile;
	}

	public void setMobile(String mobile) {
		this.mobile = mobile;
	}

	public String getMerchantName() {
		return merchantName;
	}

	public void setMerchantName(String merchantName) {
		this.merchantName = merchantName;
	}

	public String getMerchantAgentName() {
		return merchantAgentName;
	}

	public void setMerchantAgentName(String merchantAgentName) {
		this.merchantAgentName = merchantAgentName;
	}

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

	public Long getPayeeId() {
		return payeeId;
	}

	public void setPayeeId(Long payeeId) {
		this.payeeId = payeeId;
	}

	public Long getMerchantAgentId() {
		return merchantAgentId;
	}

	public void setMerchantAgentId(Long merchantAgentId) {
		this.merchantAgentId = merchantAgentId;
	}

	public Double getCountRate() {
		return countRate;
	}

	public void setCountRate(Double countRate) {
		this.countRate = countRate;
	}

	public Double getMerchantAgentRate() {
		return merchantAgentRate;
	}

	public void setMerchantAgentRate(Double merchantAgentRate) {
		this.merchantAgentRate = merchantAgentRate;
	}

	public String getPayeeName() {
		return payeeName;
	}

	public void setPayeeName(String payeeName) {
		this.payeeName = payeeName;
	}

	public Long getPayeeAgentId() {
		return payeeAgentId;
	}

	public void setPayeeAgentId(Long payeeAgentId) {
		this.payeeAgentId = payeeAgentId;
	}

	public String getPayeeAgentName() {
		return payeeAgentName;
	}

	public void setPayeeAgentName(String payeeAgentName) {
		this.payeeAgentName = payeeAgentName;
	}

	public Double getPayeeMon() {
		return payeeMon;
	}

	public void setPayeeMon(Double payeeMon) {
		this.payeeMon = payeeMon;
	}

	public Double getPayeeAgentMon() {
		return payeeAgentMon;
	}

	public void setPayeeAgentMon(Double payeeAgentMon) {
		this.payeeAgentMon = payeeAgentMon;
	}

	public Long getRequestTime() {
		return requestTime;
	}

	public void setRequestTime(Long requestTime) {
		this.requestTime = requestTime;
	}

	public Integer getOvertimeStatus() {
		return overtimeStatus;
	}

	public void setOvertimeStatus(Integer overtimeStatus) {
		this.overtimeStatus = overtimeStatus;
	}

	public Integer getNum() {
		return num;
	}

	public void setNum(Integer num) {
		this.num = num;
	}

	/**
	 * 设置：回单状态
	 */
	public void setCallBackStatus(Integer callBackStatus) {
		this.callBackStatus = callBackStatus;
	}
	/**
	 * 获取：回单状态
	 */
	public Integer getCallBackStatus() {
		return callBackStatus;
	}

	public Integer getCallBackNumber() {
		return callBackNumber;
	}

	public void setCallBackNumber(Integer callBackNumber) {
		this.callBackNumber = callBackNumber;
	}

	@Override
	public String toString() {
		return "OrderPayDO{" +
				"id=" + id +
				", merchantId=" + merchantId +
				", identification='" + identification + '\'' +
				", payType=" + payType +
				", orderNo=" + orderNo +
				", money=" + money +
				", actualMoney=" + actualMoney +
				", notifyUrl=" + notifyUrl +
				'}';
	}
}
